package edu.ycu.aladdin.calculator.participle;

/**
 * 字典前缀树.
 * 举例:
 *         e,2
 *        /   \
 *       n,3  g,4
 * <p>
 * 节点存储单字及构成的词的频率,上图中:三个单词: e->两次,en->三次,eg->4次
 *
 * @author <a href="mailto:wangruihuano@gmail.com">王瑞环</a>
 * @since 1.0
 */
public abstract class PrefixDictionaryTree {

    /**
     * 构造字典树
     *
     * @param dicPath 字典路径
     */
    public PrefixDictionaryTree(String dicPath) {
        init(dicPath);
    }

    /**
     * 初始化
     *
     * @param dicPath 字典路径
     */
    protected abstract void init(String dicPath);

    /**
     * 根据键获取词频
     *
     * @param key
     * @return
     */
    public abstract int get(String key);
}
